package com.jf.cloud.service.sysmanager.constant.sms;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.jf.cloud.service.sysmanager.constant.TagConstant;

/**
 * 限制访问类型
 */
public enum LimitModuleType {
	 
    regist(10L, "注册"),
    phone(20L, "手机验证");
    
	private LimitModuleType(Long id, String name) {
		this.id = id;
		this.name = name;
	}
	
	private Long id;
	private String  name; 
	 
    /**
     * 重写父类方法，便于程序中比较
     */
   	public String toString() {
   		return this.id + "";
   	}
   	
    /**
     * 通过ID 查找名字
     */
   	public String findName(long id) {
   		LimitModuleType[] tyList = LimitModuleType.values();
   		for (int i = 0; i < tyList.length; i++) {
			if (tyList[i] != null && tyList[i].id == id) {
				return tyList[i].name;
			}
		}
   		return "";
   	}
   	
    /**
     * 查询所有的类型
     */
   	public List<LimitModuleType> findAll() {
   		LimitModuleType[] tyList = LimitModuleType.values();
   		return Arrays.asList(tyList);
   	}
   	
   	/**
	 * 获取电子券类型（抵用券）选项列表 主要处理页面的下拉框组件
	 */
	public List<Map<String, Object>> getSelectList() {
		List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
		List<LimitModuleType> typs = findAll();
		for (LimitModuleType marketMailType : typs) {
			Map<String, Object> option4 = new HashMap<String, Object>();
			option4.put(TagConstant.DICT_OPTION_VALUE_KEY, marketMailType.getId());
			option4.put(TagConstant.DICT_OPTION_LABEL_KEY, marketMailType.getName());
			list.add(option4);
		}
		return list;
	}
	
	public long getId() {
		return id;
	}
	
	public void setId(Long id) {
		this.id = id;
	}
	
	public String getName() {
		return name;
	}
	
	public void setName(String name) {
		this.name = name;
	}
	
}
